package com.zpark.se.io.reader;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.stream.Stream;

/**
 * 字符缓冲流BufferReader类
 */
public class Demo02 {
    public static void main(String[] args) throws Exception {
        // 使用字符缓冲流对象读取数据
        BufferedReader br = new BufferedReader(
                new FileReader(
                        new File("src/com/zpark/se/io/reader/a/a.txt")
                )
        );

        // 读取数据
        /*
          read()方法，每次读取一个字符，返回一个int类型的数据，当读取到文件末尾时，返回-1
         */
        int read = br.read();
        System.out.println((char)read);

        /*
          read(char[] cbuf)：每次读取一个字符数组，返回一个int类型的数据，
          当读取到文件末尾时，返回-1
         */
        // int read1 = br.read(new char[8]);

        /*
          readLine()：读取一行数据，返回读取的字符串，当读取到文件末尾时，返回null
         */
        // String s = br.readLine();
        String res = "";
        while((res = br.readLine()) != null){
            System.out.println(res);
        }

        /*
          lines()：返回一个Stream对象，可以遍历读取每一行数据
         */
        Stream<String> lines = br.lines();


        // 关闭流
        br.close();
    }
}
